// mogry
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float4 DirLightColors;
//   float4 DirLightDirections;
//   float4 FirstLightFlag;
//   sampler2D _sampler_01;
//   sampler2D _sampler_diffuseColor;
//   sampler2D _sampler_shininess;
//   sampler2D _sampler_specularColor;
//   float albedo;
//   float3 ambientColor;
//   float3 ambientLightColor;
//   float backLightEdge;
//   float colorLimit;
//   samplerCUBE cubeReflectMap;
//   float drawEnvBlendRatio;
//   samplerCUBE drawEnvCubeBlurMap;
//   samplerCUBE drawEnvCubeMap;
//   sampler2D edgeControlFuzzColorMap;
//   float3 envMapColor;
//   float4 externalEdgeControlColor;
//   float4 externalRainDropScale;
//   float externalReflectMapScale;
//   float4 fogColor;
//   float fresnelBias;
//   float fresnelInvDiffBias;
//   sampler2D fuzzColorMap;
//   float fuzzPower;
//   float3 grace00;
//   float3 grace10;
//   float3 grace11;
//   float3 grace1_1;
//   float3 grace20;
//   float3 grace21;
//   float3 grace22;
//   float3 grace2_1;
//   float3 grace2_2;
//   float3 latitudeParam;
//   sampler2D lightToneMap;
//   float4 modulateColor;
//   samplerCUBE reflectBlurMap;
//   float reflectBlurMask;
//   float3 reflectScale;
//   float reverseRatio;
//   float4 rootPos;
//   float3 scatterColor;
//   float4 shadowColor;
//   float4 shadowFadeParam;
//   sampler2D shadowMap;
//   float4 shadowOffset0[4];
//   float4 shadowOffset1[4];
//   float4 shadowProjMatrix0[4];
//   float4 shadowProjMatrix1[4];
//   float4 shadowProjMatrix2[4];
//   float4 shadowProjMatrix3[4];
//   float4 shadowSplitRange;
//   float specluarMaskingShadow;
//   float4 weatherFactorRatio;
//   float4 weatherOffset;
//   sampler2D weatherSampler00;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   shadowOffset0            c21      4
//   shadowOffset1            c25      4
//   shadowProjMatrix0        c29      2
//   shadowProjMatrix1        c31      2
//   shadowProjMatrix2        c33      2
//   shadowProjMatrix3        c35      2
//   ambientLightColor        c37      1
//   FirstLightFlag           c38      1
//   DirLightDirections       c39      1
//   DirLightColors           c40      1
//   fuzzPower                c41      1
//   backLightEdge            c42      1
//   scatterColor             c43      1
//   reverseRatio             c44      1
//   envMapColor              c45      1
//   grace00                  c46      1
//   grace1_1                 c47      1
//   grace10                  c48      1
//   grace11                  c49      1
//   grace2_2                 c50      1
//   grace2_1                 c51      1
//   grace20                  c52      1
//   grace21                  c53      1
//   grace22                  c54      1
//   shadowFadeParam          c55      1
//   shadowSplitRange         c56      1
//   shadowColor              c57      1
//   rootPos                  c58      1
//   latitudeParam            c59      1
//   ambientColor             c60      1
//   specluarMaskingShadow    c61      1
//   fogColor                 c62      1
//   reflectBlurMask          c63      1
//   drawEnvBlendRatio        c64      1
//   reflectScale             c65      1
//   fresnelBias              c66      1
//   fresnelInvDiffBias       c67      1
//   colorLimit               c68      1
//   albedo                   c69      1
//   externalEdgeControlColor c70      1
//   externalReflectMapScale  c71      1
//   weatherOffset            c72      1
//   weatherFactorRatio       c73      1
//   externalRainDropScale    c74      1
//   modulateColor            c75      1
//   lightToneMap             s0       1
//   fuzzColorMap             s1       1
//   cubeReflectMap           s2       1
//   reflectBlurMap           s3       1
//   drawEnvCubeMap           s4       1
//   shadowMap                s5       1
//   drawEnvCubeBlurMap       s6       1
//   edgeControlFuzzColorMap  s7       1
//   _sampler_diffuseColor    s8       1
//   _sampler_01              s9       1
//   _sampler_specularColor   s10      1
//   _sampler_shininess       s11      1
//   weatherSampler00         s12      1
//
//
// Default values:
//
//   ambientLightColor
//     c37  = { 0, 0, 0, 0 };
//
//   fuzzPower
//     c41  = { 1, 0, 0, 0 };
//
//   backLightEdge
//     c42  = { -0.8, 0, 0, 0 };
//
//   scatterColor
//     c43  = { 1, 1, 1, 0 };
//
//   reverseRatio
//     c44  = { 1, 0, 0, 0 };
//
//   latitudeParam
//     c59  = { 1, 0, 1, 0 };
//
//   ambientColor
//     c60  = { 0, 0, 0, 0 };
//
//   specluarMaskingShadow
//     c61  = { 0, 0, 0, 0 };
//
//   fogColor
//     c62  = { 1, 1, 1, 0 };
//
//   reflectBlurMask
//     c63  = { 1, 0, 0, 0 };
//
//   drawEnvBlendRatio
//     c64  = { 1, 0, 0, 0 };
//
//   reflectScale
//     c65  = { 1, 1, 1, 0 };
//
//   fresnelBias
//     c66  = { 1, 0, 0, 0 };
//
//   fresnelInvDiffBias
//     c67  = { 0, 0, 0, 0 };
//
//   colorLimit
//     c68  = { 1, 0, 0, 0 };
//
//   albedo
//     c69  = { 0.5, 0, 0, 0 };
//
//   externalReflectMapScale
//     c71  = { 1, 0, 0, 0 };
//
//   weatherFactorRatio
//     c73  = { 1, 1, 1, 1 };
//
//   modulateColor
//     c75  = { 1, 1, 1, 1 };
//

    ps_3_0
    def c0, 0.949999988, 100, 1, 3
    def c1, 10, -0.5, 9.99999975e-005, 0
    def c2, 0.429042995, 0.743125021, 0.886227012, 0.247707993
    def c3, 0.85808599, 1.02332795, 0.25, 0.100000001
    def c4, 0.200000003, 0.300000012, 0.400000006, -0.125
    def c5, 0.298999995, 0.587000012, 0.114, 9.99999997e-007
    def c6, 0.349999994, 1, -0.5, 0.5
    def c7, 1, 0, 0.25, -13.2877121
    dcl_texcoord_pp v0
    dcl_texcoord2 v1.z
    dcl_texcoord1 v2.xyz
    dcl_texcoord3 v3.xyz
    dcl_texcoord4 v4
    dcl_texcoord6_pp v5
    dcl_2d s0
    dcl_2d s1
    dcl_cube s2
    dcl_cube s3
    dcl_cube s4
    dcl_2d s5
    dcl_cube s6
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9
    dcl_2d s10
    dcl_2d s11
    dcl_2d s12
    add_pp r0.x, c0.z, -v0.w
    mul_sat_pp r0.x, r0.x, c1.x
    add_pp r0.x, -r0.x, c0.z
    add_pp r0.x, -r0.x, c0.z
    mul_pp r0.x, r0.x, c72.w
    mul_pp r0.y, r0.x, c73.z
    max_pp r1.x, r0.y, c1.z
    nrm_pp r2.xyz, v3
    add_pp r3, -c58.xyzx, v2.xyzx
    mul_pp r4.xz, r3.wyzw, c74
    mov_pp r0.y, c74.y
    mad_pp r4.w, r3.y, r0.y, -c72.x
    texld_pp r5, r4.xwzw, s12
    texld_pp r4, r4.zwzw, s12
    lrp_pp r0.yzw, r2_abs.x, r4.xxyz, r5.xxyz
    dp3_pp r1.y, r0.yzww, r0.yzww
    rsq_pp r1.y, r1.y
    mad_pp r0.yzw, r0, r1.y, c1.y
    mul_pp r0.yz, r1.x, r0
    nrm_pp r1.xyz, r0.yzww
    mov r1.w, c1.w
    mad_pp r0.yzw, r2.xxyz, r1.z, r1.xxyw
    nrm_pp r1.xyz, r0.yzww
    dp3 r0.y, r3.yzww, r3.yzww
    rsq r0.y, r0.y
    mul r2, r3, r0.y
    mad r2, r2, -c1.y, r1.xyzx
    dp3 r0.y, r2.yzww, r2.yzww
    rsq r0.y, r0.y
    mul_pp r2, r2, r0.y
    mul_pp r0.yzw, r2.xyzy, r2
    mad_pp r0.y, r2.x, r2.x, -r0.y
    mul_pp r3.xyz, r0.z, c52
    mul_pp r3.xyz, r3, c2.y
    mov r4.xzw, c2
    mul_pp r5.xyz, r4.x, c54
    mad_pp r3.xyz, r5, r0.y, r3
    mad_pp r3.xyz, c46, r4.z, r3
    mad_pp r3.xyz, c52, -r4.w, r3
    mul_pp r0.yz, r2.z, r2.xyww
    mul_pp r4.xyz, r0.z, c53
    mad_pp r4.xyz, c50, r0.w, r4
    mad_pp r0.yzw, c51.xxyz, r0.y, r4.xxyz
    mad_pp r0.yzw, r0, c3.x, r3.xxyz
    mul_pp r3.xyz, r2.y, c47
    mad_pp r2.xyw, c49.xyzz, r2.w, r3.xyzz
    mad_pp r2.xyz, c48, r2.z, r2.xyww
    mad_pp r0.yzw, r2.xxyz, c3.y, r0
    mul_pp r0.yzw, r0, c69.x
    mul_pp r0.yzw, r0, c45.xxyz
    mov_sat_pp r2.xyz, c60
    mad_pp r0.yzw, r2.xxyz, r2.xxyz, r0
    mov_sat_pp r2.xyz, c37
    mad_pp r0.yzw, r2.xxyz, r2.xxyz, r0
    nrm_pp r2.xyz, v5
    dp3 r1.w, r2, r1
    add r1.w, r1.w, r1.w
    mad_pp r3.xyz, r1, -r1.w, r2
    texld_pp r4, r3, s3
    texld_pp r5, r3, s2
    lrp_pp r6, c63.x, r5, r4
    texld r4, r3, s6
    texld_pp r7, r3, s4
    dp3_sat_pp r1.w, r3, -c39
    lrp_pp r3, c63.x, r7, r4
    lrp_pp r4.xyz, c64.x, r5, r7
    lrp_pp r5, c64.x, r6, r3
    mul_pp r3.xyz, r5.w, r5
    mul_pp r3.xyz, r3, c65
    dp3_pp r2.w, -r2, r1
    dp3_pp r1.x, r1, -c39
    abs_sat_pp r1.y, r2.w
    mad_pp r5.x, r2.w, c6.z, c6.w
    add r1.y, -r1.y, c0.z
    mul r1.z, r1.y, r1.y
    mul r1.z, r1.z, r1.z
    mul_pp r1.y, r1.y, r1.z
    mov r1.z, c0.z
    lrp_sat_pp r2.w, r1.y, r1.z, c66.x
    mad_pp r1.y, r1.y, -c1.y, -c1.y
    texld r6, v4, s9
    mul_pp r3.w, r6.z, c0.w
    mul_pp r3.w, r2.w, r3.w
    add_pp r2.w, -r2.w, c67.x
    add_sat_pp r2.w, r2.w, c0.z
    mov_pp r4.w, c72.w
    mad_pp r4.w, r4.w, -c73.y, r1.z
    mul_pp r3.w, r3.w, r4.w
    mul_pp r3.w, r3.w, c71.x
    mul_pp r3.xyz, r3, r3.w
    texld_pp r7, v4, s8
    mad_sat_pp r3.xyz, r7, r2.w, r3
    mul_pp r3.xyz, r3, r3
    mul_pp r0.yzw, r0, r3.xxyz
    mul_sat_pp r2.w, r1.x, c4.w
    mad_pp r2.w, r2.w, c44.x, r1.x
    mov_sat_pp r3.w, -r2.w
    mov_pp r7.xyz, c40
    dp3_pp r4.w, r7, c5
    mul_pp r3.w, r3.w, r4.w
    mul_pp r3.w, r3.w, c44.x
    mad_sat_pp r3.w, r3.w, -c6.x, c6.y
    mul_pp r0.yzw, r0, r3.w
    mov_pp r7.xyz, c39
    mad_pp r6.xzw, r2.xyyz, c42.x, -r7.xyyz
    dp3_pp r2.x, r6.xzww, r2
    add_pp r2.y, -r1_abs.x, c0.z
    mov_sat_pp r1.x, r1.x
    max_pp r3.w, r2.y, c1.w
    mul_sat_pp r2.x, r2.x, r3.w
    mul_pp r2.xyz, r2.x, c43
    mul_pp r2.xyz, r2, c40
    add_pp r3.w, r2.w, c0.z
    mov r5.zw, c3
    add_pp r5.w, r5.w, c56.x
    add r5.w, r5.w, -v1.z
    mul r7, c32, v2.y
    mad r7, v2.x, c30, r7
    mad r7, v2.z, c34, r7
    add r7, r7, c36
    rcp r6.x, r7.w
    mul r7.xy, r7, r6.x
    add r6.xzw, r7.xyyz, c25.xyyz
    mul r8, c31, v2.y
    mad r8, v2.x, c29, r8
    mad r8, v2.z, c33, r8
    add r8, r8, c35
    rcp r7.w, r8.w
    mul r8.xy, r8, r7.w
    add r9.xyz, r8, c21
    cmp r6.xzw, r5.w, r9.xyyz, r6
    texld r9, r6.xzzw, s5
    add r5.w, -r6.w, r9.x
    cmp_pp r5.w, r5.w, c7.x, c7.y
    add r6.xzw, r7.xyyz, c26.xyyz
    add r9.xyz, r8, c22
    add_pp r7.w, c56.x, -v1.z
    add r10.xyz, r7.w, c4
    cmp r6.xzw, r10.x, r9.xyyz, r6
    texld r9, r6.xzzw, s5
    add r6.x, -r6.w, r9.x
    cmp_pp r6.x, r6.x, c7.x, c7.y
    add_pp r5.w, r5.w, r6.x
    add r6.xzw, r7.xyyz, c27.xyyz
    add r7.xyz, r7, c28
    add r9.xyz, r8, c23
    add r8.xyz, r8, c24
    cmp r7.xyz, r10.z, r8, r7
    cmp r6.xzw, r10.y, r9.xyyz, r6
    texld r8, r6.xzzw, s5
    add r6.x, -r6.w, r8.x
    cmp_pp r6.x, r6.x, c7.x, c7.y
    add_pp r5.w, r5.w, r6.x
    texld r8, r7, s5
    add r6.x, -r7.z, r8.x
    cmp_pp r6.x, r6.x, c7.x, c7.y
    add_pp r5.w, r5.w, r6.x
    mul_pp r6.x, r5.w, c3.z
    mad r5.w, r5.w, -c7.z, c7.x
    add_pp r6.z, -c55.x, v1.z
    mul_sat_pp r6.z, r6.z, c55.y
    mad_sat_pp r5.w, r6.z, r5.w, r6.x
    lrp_pp r6.x, c55.w, c55.z, r5.w
    add_pp r5.w, -r6.x, c0.z
    mad_pp r5.w, r5.w, -c57.w, r1.z
    add_pp r6.x, r1.z, -c38.x
    max_pp r7.x, r5.w, r6.x
    mul_pp r6.x, r3.w, r7.x
    mad r3.w, r3.w, -r7.x, r3.w
    mad_pp r3.w, r3.w, c4.x, r6.x
    add_pp r3.w, r3.w, -c0.z
    mad_pp r3.w, r3.w, -c1.y, -c1.y
    add_pp r8.x, -r3.w, c0.z
    mov r8.y, -c1.y
    texld_pp r8, r8, s0
    mul_sat_pp r2.w, r2.w, r7.x
    lrp_pp r7.yzw, r6.y, r8.xxyz, r2.w
    mad_pp r2.xyz, c40, r7.yzww, r2
    mul_pp r2.xyz, r7.x, r2
    mad_pp r0.yzw, r2.xxyz, r3.xxyz, r0
    max_pp r2.xyz, r0.yzww, c5.w
    rsq_pp r0.y, r2.x
    rcp_pp r3.x, r0.y
    rsq_pp r0.y, r2.y
    rsq_pp r0.z, r2.z
    rcp_pp r3.z, r0.z
    rcp_pp r3.y, r0.y
    mul_pp r0.y, r5.z, c73.y
    mul_pp r0.y, r1.y, r0.y
    mul_pp r0.y, r0.y, c71.x
    mul_pp r0.y, r5.w, r0.y
    mul_pp r0.yzw, r4.xxyz, r0.y
    mul_pp r0.xyz, r0.x, r0.yzww
    mad_pp r2.xyz, v0, r3, r0
    mul_pp r3.xyz, r3, v0
    mov_sat_pp r0.xyz, r0
    mad_pp r0.xyz, r3, -r0, r2
    add r0.w, r1.w, -c1.z
    log_pp r1.y, r1.w
    cmp_pp r0.w, r0.w, r1.y, c7.w
    texld r2, v4, s11
    mad_pp r1.y, r2.z, c0.y, c0.z
    mul_pp r0.w, r0.w, r1.y
    exp_pp r0.w, r0.w
    mul_pp r2.xyz, r0.w, c40
    mul_pp r2.xyz, r7.x, r2
    mul_pp r0.w, r1.x, r7.x
    dp2add_pp r0.w, r0.w, r4.w, c1.w
    texld r3, v4, s10
    mul_sat_pp r1.xyw, r3.xyzz, c0.x
    mul_pp r1.xyw, r1, r1
    mul_pp r1.xyw, r2.xyzz, r1
    lrp_sat_pp r2.x, r5.w, r1.z, c61.x
    mul_pp r1.xyz, r1.xyww, r2.x
    max_pp r2.xyz, r1, c5.w
    rsq_pp r1.x, r2.x
    rcp_pp r1.x, r1.x
    rsq_pp r1.w, r2.y
    rsq_pp r2.x, r2.z
    rcp_pp r1.z, r2.x
    rcp_pp r1.y, r1.w
    mad_pp r0.xyz, r1, v0, r0
    mov r1.xyz, c5
    dp3_pp r1.x, c37, r1
    add_pp r0.w, r0.w, r1.x
    mov r5.y, -c1.y
    texld_pp r1, r5, s1
    texld_pp r2, r5, s7
    mov_sat_pp r2.xyz, r2
    mul_pp r2.xyz, r2, v0
    mov_sat_pp r1.xyz, r1
    mul_pp r1.xyz, r1, v0
    mul_pp r1.xyz, r1, c41.x
    mad_pp r0.xyz, r1, r0.w, r0
    mad_pp r0.xyz, r2, c70, r0
    min_pp r1.xyz, c68.x, r0
    min_sat_pp r0.x, c62.w, v5.w
    lrp_pp r2.xyz, r0.x, c62, r1
    texld_pp r0, v4.zwzw, s9
    mov_pp r2.w, r0.x
    mul_pp r0, r2, c75
    mad_pp r0.xyz, r0, c59.x, c59.y
    mov_pp oC0.w, r0.w
    mul_pp oC0.xyz, r0, c59.z
	// disable
		mov oC0.xyzw, c1.wwww	

// approximately 253 instruction slots used (18 texture, 235 arithmetic)
 